Дискриміновані об'єднання в TypeScript: Створення типобезпечних машин стану | MLOG | MLOG